#region History

/* --------------------------------------------------------------------------------
 * Client Name: Bd Market Ltd.
 * Project Name: BdMarket
 * Module: App.Web.ViewModels 
 * Name: Company.cs
 * Purpose: ViewModel class for Company
 *                   
 * Author: Md. Hassanur Rahman
 * Language: C# SDK Version 4.0
 * --------------------------------------------------------------------------------
 * Change History:
 * Version: 1.0    MHR  01/21/2012
 * Description: Initial Development
 * -------------------------------------------------------------------------------- */

#endregion
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace App.Web.ViewModels
{
    [Serializable]
    public class CompanyViewModel : BaseViewModel
    {
        /// <summary>
        /// Gets or sets the ID
        /// </summary>
        public int ID { get; set; }
        [Required(ErrorMessage = "Please Select a Industry Type")]
        [Range(1, int.MaxValue, ErrorMessage = "Please Select an Industry Type")]
        [Display(Name = "Industry Type")]
        public int IndustryTypeID { get; set; }

        [Required(ErrorMessage = "Please Enter a Name")]
        [StringLength(100, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Name")]
        public String Name { get; set; }

        [StringLength(30, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Alias")]
        public String Alias { get; set; }

        [StringLength(100, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Slogan")]
        public String Slogan { get; set; }

        [Required(ErrorMessage = "Please Enter a Address")]
        [StringLength(300, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Address")]
        public String Address { get; set; }

        [Required(ErrorMessage = "Please Select a Country")]
        [Range(1, int.MaxValue, ErrorMessage = "Please Select a Country")]
        [Display(Name = "Country")]
        public int CountryID { get; set; }

        [Required(ErrorMessage = "Please Select a District")]     
        [Range(1, int.MaxValue, ErrorMessage="Please Select a District")]
        [Display(Name = "District")]
        public int DistrictID { get; set; }

        [StringLength(20, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Required(ErrorMessage = "Please Enter a Phone")]
        [Display(Name = "Phone")]
        public String Phone { get; set; }

        [StringLength(30, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Fax")]
        public String Fax { get; set; }

        [StringLength(100, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [DataType(DataType.EmailAddress)]
        [RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Please Enter a valid Email")]
        [Display(Name = "Email")]        
        public String Email { get; set; }

        [StringLength(100, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [DataType(DataType.Url)]
        [Display(Name = "Web")]
        public String Web { get; set; }

        [Display(Name = "Company Logo")]
        [StringLength(150, ErrorMessage = "The {0} can be maximum {1} characters long.")]        
        public String LogoFile { get; set; }

        [StringLength(10, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Rating")]
        public String Rating { get; set; }

        [StringLength(500, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Description")]
        public String Description { get; set; }

        [Required(ErrorMessage = "Please Choose Is Active?")]
        [Display(Name = "Is Active")]
        public bool IsActive { get; set; }

        public String CompnayUrl { get; set; }

        public int Width { get; set; }

        public int Height { get; set; }

        public String CropProperty { get; set; }

        public String OriginalFileName { get; set; }
    }
}



